def find_huiwenshu():
    # print(999 * 999) --- 998001。10000
    # 如果是6位数字的回文数的话，那么前3为就可以决定后3为，所以开始遍历前3位数的可能
    # 如果是5位数的话还是由前3个数决定，只不过构造的时候只用前两位，不过好像不需要了
    num = 997
    # 6位数
    while num > 100:
        temp = str(num)
        temp += temp[::-1]
        if factor(int(temp)):
            print(temp)
            return
        num -= 1


def factor(num: int):
    ret = False
    for i in range(100, 1000):
        if num % i == 0 and 100 <= (num // i) < 1000:
            print(num, i, num // i)
            ret = True
            break
    return ret


if __name__ == '__main__':
    find_huiwenshu()
